Credit control may involve mechanisms that interact in real-time with accounts associated with end users, and controls or monitors the charges related to service usage associated with those end users' accounts. For example, credit control may involve checking whether credit is available for a given account, credit-reservation, deduction of credit from the end user account when service is completed and/or refunding of reserved credit that is not used. Credit control has particular applicability in the provision of network services, such as, for example, provision of cellular airtime in a cellular radio network, provision of multimedia data in a wired or wireless network, etc. Credit control may be implemented by a charging system (e.g., a credit control server) that monitors and controls charges related to service usage of end users and grants and or denies credit authorizations to those end users, thus, enabling network service delivery to the end users.
RFC 4006, entitled “Diameter Credit-Control Application” (DCCA), provides a specification that can be used to implement real-time credit-control for a variety of end user services such as network access, Session Initiation Protocol (SIP) services, messaging services, and download services. RFC 4006 provides a general solution to real-time cost and credit-control in charging systems.
The DCCA specification also specifies a type of sub-session called a Multiple Services Credit Control (MSCC) session. When multiple services are used within the same user session and each service or group of services is subject to a different cost, it is necessary to perform credit-control for each service independently. Use of credit-control sub-sessions to achieve independent credit-control can result in increased signaling load and usage of resources in both the credit-control client and the credit-control server. To support multiple services within the same session, the DCCA specifies the MSCC session, which enables independent credit-control of multiple services in a single credit-control (sub-)session. With MSCC sessions, it is possible to request and allocate resources as a credit pool shared between multiple services. With MSCC sessions, it is also possible to request and allocate quotas on a per service basis. Where quotas are allocated to a pool during an MSCC session, the quotas remain independent objects that can be re-authorized independently at any time.